<?php

class Provinces {

    private $_ID;
    private $_name;
    private $_type;

    public function getID() {
        return $this->_ID;
    }

    public function setID($ID) {
        $this->_ID = $ID;
    }

    public function getName() {
        return $this->_name;
    }

    public function setName($Name) {
        $this->_name = $Name;
    }

    public function getType() {
        return $this->_type;
    }

    public function setType($Type) {
        $this->_type = $Type;
    }

    // get list of provine
    public function getList($db = null) {
        if ($db != null) {
            $sql = "SELECT
                    `P_ID`,
                    `P_Name`,
                    `P_Type`
                  FROM `provinces`";

            $parameters = null;
            $values = null;
            $types = null;
            $result = $db->executeQuery($sql, $parameters, $values, $types);

            // nếu có kết quả
            if ($result != null) {

                // mảng danh sách trả về
                $rows = array();
                // lấy mỗi dòng dữ liệu đưa vào mảng danh sách trả về
                while ($row = $result->fetch()) {
                    $province = new Provinces();
                    $province->setID($row->P_ID);
                    $province->setName($row->P_Name);
                    $province->setType($row->P_Type);
                    $rows[] = $province;
                }

                return $rows;
            } else {
                return null;
            }
        }
    }

 
    public function getByID($db = null) {
        if ($db != null) {
            $sql = "SELECT
                    `P_ID`,
                    `P_Name`,
                    `P_Type`
                  FROM `provinces`
                  WHERE P_ID = :P_ID";

            $parameters = array(':P_ID');
            $values = array($this->getID());
            $types = array(PDO::PARAM_INT);
            $result = $db->executeQuery($sql, $parameters, $values, $types);

            // nếu có kết quả
            if ($result != null) {
                $row = $result->fetch();
                $this->setID($row->P_ID);
                $this->setName($row->P_Name);
                $this->setType($row->P_Type);
                return $this;
            } else {
                return null;
            }
        }
    }

}

?>
